package interfaceGrafica;

import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JLayeredPane;

@SuppressWarnings("serial")
public class PainelInstrucao extends JLayeredPane {

	private Janela janela;
	private MenuPrincipal menuPrincipal;

	private JLabel background;
	private JButton home;
	private JButton exit;
	private JButton back;
	private JButton next;

	private ImageIcon homeImagem1;
	private ImageIcon homeImagem2;
	private ImageIcon homeImagem3;
	private ImageIcon exitImagem1;
	private ImageIcon exitImagem2;
	private ImageIcon exitImagem3;
	private ImageIcon nextImagem1;
	private ImageIcon nextImagem2;
	private ImageIcon nextImagem3;
	private ImageIcon backImagem1;
	private ImageIcon backImagem2;
	private ImageIcon backImagem3;

	private ImageIcon[] imagens;
	private int posicao;

	public PainelInstrucao(Janela janela, MenuPrincipal menuPrincipal) {
		super();
		this.janela = janela;
		this.menuPrincipal = menuPrincipal;

		posicao = 0;

		imagens = new ImageIcon[4];
		imagens[0] = new ImageIcon("Data\\Imagens\\Instrucao\\i1.png");
		imagens[1] = new ImageIcon("Data\\Imagens\\Instrucao\\i2.png");
		imagens[2] = new ImageIcon("Data\\Imagens\\Instrucao\\i3.png");
		imagens[3] = new ImageIcon("Data\\Imagens\\Instrucao\\i4.png");

		homeImagem1 = new ImageIcon("Data\\Imagens\\Instrucao\\homeImagem1.png");
		homeImagem2 = new ImageIcon("Data\\Imagens\\Instrucao\\homeImagem2.png");
		homeImagem3 = new ImageIcon("Data\\Imagens\\Instrucao\\homeImagem3.png");
		exitImagem1 = new ImageIcon("Data\\Imagens\\Instrucao\\exitImagem1.png");
		exitImagem2 = new ImageIcon("Data\\Imagens\\Instrucao\\exitImagem2.png");
		exitImagem3 = new ImageIcon("Data\\Imagens\\Instrucao\\exitImagem3.png");
		backImagem1 = new ImageIcon("Data\\Imagens\\Instrucao\\backImagem1.png");
		backImagem2 = new ImageIcon("Data\\Imagens\\Instrucao\\backImagem2.png");
		backImagem3 = new ImageIcon("Data\\Imagens\\Instrucao\\backImagem3.png");
		nextImagem1 = new ImageIcon("Data\\Imagens\\Instrucao\\nextImagem1.png");
		nextImagem2 = new ImageIcon("Data\\Imagens\\Instrucao\\nextImagem2.png");
		nextImagem3 = new ImageIcon("Data\\Imagens\\Instrucao\\nextImagem3.png");

		this.background = new JLabel();
		this.background.setIcon(imagens[0]);
		this.background.setDisabledIcon(imagens[0]);
		this.background.setBounds(0, 0, 800, 600);
		super.add(background, JLayeredPane.DEFAULT_LAYER);

		home = new JButton();
		MenuPrincipal.inicializarBotao(this, home, homeImagem1, homeImagem2, homeImagem3, 676, 520,
				homeImagem1.getIconWidth(), 85);
		home.addMouseListener(new MouseAdapter() {
			public void mouseClicked(MouseEvent me) {
				mouseClicar(home, 1);
			}
		});
		back = new JButton();
		MenuPrincipal.inicializarBotao(this, back, backImagem1, backImagem2, backImagem3, 323, 544,
				backImagem1.getIconWidth(), backImagem1.getIconHeight());
		back.addMouseListener(new MouseAdapter() {
			public void mouseClicked(MouseEvent me) {
				mouseClicar(back, 2);
			}
		});
		back.setVisible(false);

		next = new JButton();
		MenuPrincipal.inicializarBotao(this, next, nextImagem1, nextImagem2, nextImagem3, 413, 544,
				nextImagem1.getIconWidth() , nextImagem1.getIconHeight());
		next.addMouseListener(new MouseAdapter() {
			public void mouseClicked(MouseEvent me) {
				mouseClicar(next, 3);
			}
		});
		exit = new JButton();
		MenuPrincipal.inicializarBotao(this, exit, exitImagem1, exitImagem2, exitImagem3, 734, 520,
				exitImagem1.getIconWidth(), 85);
		exit.addMouseListener(new MouseAdapter() {
			public void mouseClicked(MouseEvent me) {
				mouseClicar(exit, 4);
			}
		});
	}

	private void mouseClicar(JButton botao, int escolha) {
		
		switch (escolha) {
		case 1:
			janela.setContentPane(menuPrincipal);
			janela.pack();
			break;

		case 2:
			if (posicao > 0) 
			{
				posicao--;
				this.background.setIcon(imagens[posicao]);
				next.setVisible(true);
				if (posicao == 0)
				{
					back.setVisible(false);
				}
			}
			break;

		case 3:
			if (posicao < 3) 
			{
				posicao++;
				this.background.setIcon(imagens[posicao]);
				back.setVisible(true);
				if (posicao == 3)
				{
					next.setVisible(false);
				}
			}
			break;

		case 4:
			System.exit(0);
			break;

		default:

			break;
		}
	}

}